package com.ljf.daily.costmanagement.model;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.ljf.common.model.BasisModel;
import com.ljf.config.annotation.AutoCode;
import com.ljf.daily.costmanagement.enums.DailyDatCostManagementActivitySignEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

/**
 * 费用管理对象  daily_dat_cost_management
 *
 * @author LJF
 * @since 2025-03-30
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ApiModel("费用管理")
@EqualsAndHashCode(callSuper = true)
@TableName("daily_dat_cost_management")
public class DailyDatCostManagement extends BasisModel {

	private static final long serialVersionUID = 1L;

	/**
	 * Java类型: Long
	 * 数据库类型: bigint
	 * 注释: ID
	 * {@link DailyDatCostManagement#COL_ID}
	 */
	@TableId(value="id", type= IdType.AUTO)
	@JsonProperty("id")
	@ApiModelProperty(value = "ID")
	private Long id;

	/**
	 * Java类型: String
	 * 数据库类型: char(6)
	 * 注释: 编码
	 * {@link DailyDatCostManagement#COL_CODE}
	 */
	@AutoCode
	@TableField("code")
	@JsonProperty("code")
	@ApiModelProperty(value = "编码")
	private String code;

	/**
	 * Java类型: String
	 * 数据库类型: varchar(20)
	 * 注释: 名称
	 * {@link DailyDatCostManagement#COL_NAME}
	 */
	@TableField("name")
	@JsonProperty("name")
	@ApiModelProperty(value = "名称")
	private String name;

	/**
	 * Java类型: String
	 * 数据库类型: varchar(5)
	 * 注释: 计量单位
	 * {@link DailyDatCostManagement#COL_CALCULATE_UNIT}
	 */
	@TableField("calculate_unit")
	@JsonProperty("calculateUnit")
	@ApiModelProperty(value = "计量单位")
	private String calculateUnit;

	/**
	 * Java类型: String
	 * 数据库类型: char(10)
	 * 注释: 标签编码
	 * {@link DailyDatCostManagement#COL_SYMBOL_CODE}
	 */
	@TableField("symbol_code")
	@JsonProperty("symbolCode")
	@ApiModelProperty(value = "标签编码")
	private String symbolCode;

	/**
	 * Java类型: Integer
	 * 数据库类型: tinyint
	 * 注释: 活动标志(1:活动;2:不活动)
	 * {@link DailyDatCostManagement#COL_ACTIVITY_SIGN}
	 * {@link DailyDatCostManagementActivitySignEnum}
	 */
	@TableField("activity_sign")
	@JsonProperty("activitySign")
	@ApiModelProperty(value = "活动标志(1:活动;2:不活动)")
	private Integer activitySign;


	/**
	 * ID
	 * {@link DailyDatCostManagement#id}
	 */
	public static final String COL_ID = "id";
	/**
	 * 编码
	 * {@link DailyDatCostManagement#code}
	 */
	public static final String COL_CODE = "code";
	/**
	 * 名称
	 * {@link DailyDatCostManagement#name}
	 */
	public static final String COL_NAME = "name";
	/**
	 * 计量单位
	 * {@link DailyDatCostManagement#calculateUnit}
	 */
	public static final String COL_CALCULATE_UNIT = "calculate_unit";
	/**
	 * 标签编码
	 * {@link DailyDatCostManagement#symbolCode}
	 */
	public static final String COL_SYMBOL_CODE = "symbol_code";
	/**
	 * 活动标志(1:活动;2:不活动)
	 * {@link DailyDatCostManagement#activitySign}
	 */
	public static final String COL_ACTIVITY_SIGN = "activity_sign";

}
